//
//  YZWorkNoteLayout.h
//  VET
//
//  Created by 刘文靖 on 2018/7/10.
//  Copyright © 2018年 YZ. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "YYKit.h"
// 宽高
#define kWNCellTopMargin 12         // cell 顶部灰色留白
#define kWNCellTopTimeHeight 50    // cell 顶部时间和处理按钮栏高度
#define kWNCellBottomToolHeight 48    // cell 底部 分类+归档 栏高度
#define kWNCellPaddingContentTop 4   // cell 内容距离顶部时间和处理栏 高度
#define kWNCellPaddingTextBottom 6   // cell 文本内容距离底部栏 高度
#define kWNCellPadding 18          // cell 内边距
#define kWNCellContentWidth (kScreenWidth - 2 * kWNCellPadding) // cell 内容宽度

#define kWNCellPaddingPic 6     // cell 多张图片中间留白

// 字体
#define kWNCellTextFontSize 16      // 文本字体大小
// 颜色
#define kWNCellTextNormalColor UIColorHex(434343) // 一般文本色

@class YZWorkNoteModel;
@interface YZWorkNoteLayout : NSObject
- (instancetype)initWithNote:(YZWorkNoteModel *)note;
- (void)layout; ///< 计算布局

/**============数据==================*/
@property (nonatomic, strong) YZWorkNoteModel *note;
/**============布局结果==================*/
// 顶部留白
@property (nonatomic, assign) CGFloat marginTop; //顶部灰色留白

// 文本
@property (nonatomic, assign) CGFloat textHeight; //文本高度(包括下方留白)
@property (nonatomic, strong) YYTextLayout *textLayout; //文本

// 图片
@property (nonatomic, assign) CGFloat picHeight; //图片高度，0为没图片
@property (nonatomic, assign) CGSize picSize;

// 下边留白
@property (nonatomic, assign) CGFloat marginBottom; //下边留白
@property (nonatomic, assign, readonly) BOOL shouldShowMoreButton;
@property (nonatomic, assign) BOOL isOpening;
// 总高度
@property (nonatomic, assign) CGFloat height;

@end

@interface YZTextLinePositionModifier : NSObject <YYTextLinePositionModifier>
@property (nonatomic, strong) UIFont *font; // 基准字体 (例如 Heiti SC/PingFang SC)
@property (nonatomic, assign) CGFloat paddingTop; //文本顶部留白
@property (nonatomic, assign) CGFloat paddingBottom; //文本底部留白
@property (nonatomic, assign) CGFloat lineHeightMultiple; //行距倍数
- (CGFloat)heightForLineCount:(NSUInteger)lineCount;
@end
